package com.saver.core.persistence;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.http.client.ClientProtocolException;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.util.Log;

import com.saver.core.exception.HTTPException;
import com.saver.core.persistence.bean.ItemEstablecimiento;
import com.saver.core.processor.TipoRegistro;
import com.saver.core.processor.util.Util;
import com.saver.core.util.Constantes;

public class EstablecimientoRestService extends AbstractRestServiceJSON {
	
	private static final String TAG = "EstablecimientoRestService";
	
	public List<ItemEstablecimiento> establecimientos (Map<String, String> parametros) 
			throws IOException, HTTPException {
		ArrayList<ItemEstablecimiento> establecimientos = new ArrayList<ItemEstablecimiento>();
		
		try {
			JSONArray jsonArray = obtenerJSONArray(Constantes.PATH_ESTABLECIMIENTO, HTTPMethod.POST, parametros);
			for (int i=0, n=jsonArray.length(); i<n; i++) {
				JSONObject jsonObject = jsonArray.getJSONObject(i);
				
				ItemEstablecimiento establecimiento = new ItemEstablecimiento();
				establecimiento.setIdServ(Util.getInteger(jsonObject, "id"));
				establecimiento.setIdCatServ(Util.getInteger(jsonObject, "ic"));
				establecimiento.setNombre(Util.getString(jsonObject, "no"));
				establecimiento.setTipoRegistro(TipoRegistro.SISTEMA.getValor());
				establecimientos.add(establecimiento);
			}
			
		} catch (ClientProtocolException e) {
			Log.e(TAG, "Error de protocolo", e);
		} catch (JSONException e) {
			Log.e(TAG, "Error de formato json", e);
		}
		
		return establecimientos;
	}

}
